using System;
using System.Collections.Generic; 
using System.Collections;
using System.Linq;
using System.Diagnostics;
using System.Xml;
using System.Xml.Schema; 
using System.Xml.Linq; 
using System.Xml.XPath;
using Metaspec;
using AbstraX.ParserInterfaces;

namespace CsParser
{
	/// ID=/AssembliesRoot[@URL='AbstraX://MCLaptop64/AssembliesRoot']/Assembly[@AssemblyFile='C:\Users\Ken\Documents\Mind Chemistry\SolutionFramework\Binaries\CsTransformationParserLibrary.dll']/AssemblyType[@Type='Metaspec.CsCompilationUnit']/FieldElement[@Property='attributes']/AssemblyType[@Type='Metaspec.CsAttributes']/FieldElement[@Property='sections']/AssemblyType[@Type='Metaspec.CsAttributeSection']/FieldElement[@Property='attribute_list']/AssemblyType[@Type='Metaspec.CsAttribute']/FieldElement[@Property='positional_argument_list']/AssemblyType[@Type='Metaspec.CsPositionalArgumentList']/FieldElement[@Property='list']/AssemblyType[@Type='Metaspec.CsExpression']/FieldElement[@Property='entity_typeref']/AssemblyType[@Type='Metaspec.CsEntityTypeRef']/GetSetPropertyElement[@Property='getType()']/AssemblyType[@Type='Metaspec.CsEntityType']/FieldElement[@Property='method_implementations']/AssemblyType[@Type='Metaspec.CsEntityMethodImplementation']/FieldElement[@Property='interface_method']/AssemblyType[@Type='Metaspec.CsEntityMethod']/FieldElement[@Property='parameters']/AssemblyType[@Type='Metaspec.CsEntityFormalParameter']/FieldElement[@Property='attributes']/AssemblyType[@Type='Metaspec.CsEntityAttribute']/FieldElement[@Property='parent']/AssemblyType[@Type='Metaspec.CsEntity']
	/// Name=CsEntity
	/// 
	/// ****************** DataType ******************
	/// 
	/// Type='CsEntity'
	/// FQN='Metaspec.CsEntity'
	/// IsCollectionType='False'
	/// 
	/// 
	/// ****************** Description ******************
	/// 
	/// Field Type
	/// 
	/// 
	/// ****************** Modifiers ******************
	/// 
	/// CanRead=false
	/// CanWrite=false
	/// IsLocal=false
	/// NotNavigable=false
	/// NotApplicable=false
	/// 
	/// **********************************************
 	public class CodeEntity : ICodeEntity
	{
		private CsEntity csEntity;

        public CodeEntity(CsEntity csEntity) 
        {
            this.csEntity = csEntity;
        }

		/// ------------------------------------ PropertyBinding ------------------------------------
		/// 
		/// Name: NameAsString
		/// BindingMode: TwoWay
		/// BindingSourceType: AbstraXBindingSource
		/// IsSearchable: false
		/// 
		/// ****************** BindingAttribute ******************
		/// 
		/// ID=/AssembliesRoot[@URL='AbstraX://MCLaptop64/AssembliesRoot']/Assembly[@AssemblyFile='C:\Users\Ken\Documents\Mind Chemistry\SolutionFramework\Binaries\CsTransformationParserLibrary.dll']/AssemblyType[@Type='Metaspec.CsCompilationUnit']/FieldElement[@Property='attributes']/AssemblyType[@Type='Metaspec.CsAttributes']/FieldElement[@Property='sections']/AssemblyType[@Type='Metaspec.CsAttributeSection']/FieldElement[@Property='attribute_list']/AssemblyType[@Type='Metaspec.CsAttribute']/FieldElement[@Property='positional_argument_list']/AssemblyType[@Type='Metaspec.CsPositionalArgumentList']/FieldElement[@Property='list']/AssemblyType[@Type='Metaspec.CsExpression']/FieldElement[@Property='entity_typeref']/AssemblyType[@Type='Metaspec.CsEntityTypeRef']/GetSetPropertyElement[@Property='getType()']/AssemblyType[@Type='Metaspec.CsEntityType']/FieldElement[@Property='method_implementations']/AssemblyType[@Type='Metaspec.CsEntityMethodImplementation']/FieldElement[@Property='interface_method']/AssemblyType[@Type='Metaspec.CsEntityMethod']/FieldElement[@Property='parameters']/AssemblyType[@Type='Metaspec.CsEntityFormalParameter']/FieldElement[@Property='attributes']/AssemblyType[@Type='Metaspec.CsEntityAttribute']/FieldElement[@Property='parent']/AssemblyType[@Type='Metaspec.CsEntity']/GetSetPropertyAttribute[@Property='getNameAsString(entity_name_options)']
		/// Name=getNameAsString(entity_name_options)
		/// 
		/// ****************** DataType ******************
		/// 
		/// Type='String'
		/// TypeCode='Empty'
		/// 
		/// 
		/// ****************** Modifiers ******************
		/// 
		/// CanRead=true
		/// CanWrite=false
		/// IsLocal=true
		/// NotNavigable=false
		/// NotApplicable=false
		/// 
		/// **********************************************
		/// 
		/// *****************************************************
		/// 
		/// 
		/// ----------------------------------------------------------------------------------
        public String NameAsString 
        { 
            get
            {
				return csEntity.NameAsString;
            }
        }

		/// ------------------------------------ PropertyBinding ------------------------------------
		/// 
		/// Name: pflags
		/// BindingMode: TwoWay
		/// BindingSourceType: AbstraXBindingSource
		/// IsSearchable: false
		/// 
		/// ****************** BindingAttribute ******************
		/// 
		/// ID=/AssembliesRoot[@URL='AbstraX://MCLaptop64/AssembliesRoot']/Assembly[@AssemblyFile='C:\Users\Ken\Documents\Mind Chemistry\SolutionFramework\Binaries\CsTransformationParserLibrary.dll']/AssemblyType[@Type='Metaspec.CsCompilationUnit']/FieldElement[@Property='attributes']/AssemblyType[@Type='Metaspec.CsAttributes']/FieldElement[@Property='sections']/AssemblyType[@Type='Metaspec.CsAttributeSection']/FieldElement[@Property='attribute_list']/AssemblyType[@Type='Metaspec.CsAttribute']/FieldElement[@Property='positional_argument_list']/AssemblyType[@Type='Metaspec.CsPositionalArgumentList']/FieldElement[@Property='list']/AssemblyType[@Type='Metaspec.CsExpression']/FieldElement[@Property='entity_typeref']/AssemblyType[@Type='Metaspec.CsEntityTypeRef']/GetSetPropertyElement[@Property='getType()']/AssemblyType[@Type='Metaspec.CsEntityType']/FieldElement[@Property='method_implementations']/AssemblyType[@Type='Metaspec.CsEntityMethodImplementation']/FieldElement[@Property='interface_method']/AssemblyType[@Type='Metaspec.CsEntityMethod']/FieldElement[@Property='parameters']/AssemblyType[@Type='Metaspec.CsEntityFormalParameter']/FieldElement[@Property='attributes']/AssemblyType[@Type='Metaspec.CsEntityAttribute']/FieldElement[@Property='parent']/AssemblyType[@Type='Metaspec.CsEntity']/FieldAttribute[@Field='pflags']
		/// Name=pflags
		/// 
		/// ****************** DataType ******************
		/// 
		/// Type='UInt16'
		/// TypeCode='Empty'
		/// 
		/// 
		/// ****************** Modifiers ******************
		/// 
		/// CanRead=true
		/// CanWrite=true
		/// IsLocal=true
		/// NotNavigable=false
		/// NotApplicable=false
		/// 
		/// **********************************************
		/// 
		/// *****************************************************
		/// 
		/// 
		/// ----------------------------------------------------------------------------------
        public UInt16 Pflags 
        { 
            get
            {
				return csEntity.pflags;
            }
            set
            {
				csEntity.pflags = value;
            }
        }

		/// ------------------------------------ PropertyBinding ------------------------------------
		/// 
		/// Name: name
		/// BindingMode: TwoWay
		/// BindingSourceType: AbstraXBindingSource
		/// IsSearchable: false
		/// 
		/// ****************** BindingAttribute ******************
		/// 
		/// ID=/AssembliesRoot[@URL='AbstraX://MCLaptop64/AssembliesRoot']/Assembly[@AssemblyFile='C:\Users\Ken\Documents\Mind Chemistry\SolutionFramework\Binaries\CsTransformationParserLibrary.dll']/AssemblyType[@Type='Metaspec.CsCompilationUnit']/FieldElement[@Property='attributes']/AssemblyType[@Type='Metaspec.CsAttributes']/FieldElement[@Property='sections']/AssemblyType[@Type='Metaspec.CsAttributeSection']/FieldElement[@Property='attribute_list']/AssemblyType[@Type='Metaspec.CsAttribute']/FieldElement[@Property='positional_argument_list']/AssemblyType[@Type='Metaspec.CsPositionalArgumentList']/FieldElement[@Property='list']/AssemblyType[@Type='Metaspec.CsExpression']/FieldElement[@Property='entity_typeref']/AssemblyType[@Type='Metaspec.CsEntityTypeRef']/GetSetPropertyElement[@Property='getType()']/AssemblyType[@Type='Metaspec.CsEntityType']/FieldElement[@Property='method_implementations']/AssemblyType[@Type='Metaspec.CsEntityMethodImplementation']/FieldElement[@Property='interface_method']/AssemblyType[@Type='Metaspec.CsEntityMethod']/FieldElement[@Property='parameters']/AssemblyType[@Type='Metaspec.CsEntityFormalParameter']/FieldElement[@Property='attributes']/AssemblyType[@Type='Metaspec.CsEntityAttribute']/FieldElement[@Property='parent']/AssemblyType[@Type='Metaspec.CsEntity']/FieldAttribute[@Field='name']
		/// Name=name
		/// 
		/// ****************** DataType ******************
		/// 
		/// Type='String'
		/// TypeCode='Empty'
		/// 
		/// 
		/// ****************** Modifiers ******************
		/// 
		/// CanRead=true
		/// CanWrite=true
		/// IsLocal=true
		/// NotNavigable=false
		/// NotApplicable=false
		/// 
		/// **********************************************
		/// 
		/// *****************************************************
		/// 
		/// 
		/// ----------------------------------------------------------------------------------
        public String Name 
        { 
            get
            {
				return csEntity.name;
            }
            set
            {
				csEntity.name = value;
            }
        }

		/// ------------------------------------ PropertyBinding ------------------------------------
		/// 
		/// Name: mflags
		/// BindingMode: TwoWay
		/// BindingSourceType: AbstraXBindingSource
		/// IsSearchable: false
		/// 
		/// ****************** BindingAttribute ******************
		/// 
		/// ID=/AssembliesRoot[@URL='AbstraX://MCLaptop64/AssembliesRoot']/Assembly[@AssemblyFile='C:\Users\Ken\Documents\Mind Chemistry\SolutionFramework\Binaries\CsTransformationParserLibrary.dll']/AssemblyType[@Type='Metaspec.CsCompilationUnit']/FieldElement[@Property='attributes']/AssemblyType[@Type='Metaspec.CsAttributes']/FieldElement[@Property='sections']/AssemblyType[@Type='Metaspec.CsAttributeSection']/FieldElement[@Property='attribute_list']/AssemblyType[@Type='Metaspec.CsAttribute']/FieldElement[@Property='positional_argument_list']/AssemblyType[@Type='Metaspec.CsPositionalArgumentList']/FieldElement[@Property='list']/AssemblyType[@Type='Metaspec.CsExpression']/FieldElement[@Property='entity_typeref']/AssemblyType[@Type='Metaspec.CsEntityTypeRef']/GetSetPropertyElement[@Property='getType()']/AssemblyType[@Type='Metaspec.CsEntityType']/FieldElement[@Property='method_implementations']/AssemblyType[@Type='Metaspec.CsEntityMethodImplementation']/FieldElement[@Property='interface_method']/AssemblyType[@Type='Metaspec.CsEntityMethod']/FieldElement[@Property='parameters']/AssemblyType[@Type='Metaspec.CsEntityFormalParameter']/FieldElement[@Property='attributes']/AssemblyType[@Type='Metaspec.CsEntityAttribute']/FieldElement[@Property='parent']/AssemblyType[@Type='Metaspec.CsEntity']/FieldAttribute[@Field='mflags']
		/// Name=mflags
		/// 
		/// ****************** DataType ******************
		/// 
		/// Type='UInt32'
		/// TypeCode='Empty'
		/// 
		/// 
		/// ****************** Modifiers ******************
		/// 
		/// CanRead=true
		/// CanWrite=true
		/// IsLocal=true
		/// NotNavigable=false
		/// NotApplicable=false
		/// 
		/// **********************************************
		/// 
		/// *****************************************************
		/// 
		/// 
		/// ----------------------------------------------------------------------------------
        public UInt32 Mflags 
        { 
            get
            {
				return csEntity.mflags;
            }
            set
            {
				csEntity.mflags = value;
            }
        }

		/// ------------------------------------ NavigationItem ------------------------------------
		/// 
		/// Property: 'e' returns type: 'Metaspec.cs_entity'
		/// CanRead: true
		/// CanWrite: true
		/// 
		/// ----------------------------------------------------------------------------------
        public cs_entity E 
        { 
            get
            {
				return new cs_entity(csEntity.e);
            }
        }

		/// ------------------------------------ NavigationItem ------------------------------------
		/// 
		/// Property: 'access' returns type: 'Metaspec.cs_entity_access'
		/// CanRead: true
		/// CanWrite: true
		/// 
		/// ----------------------------------------------------------------------------------
        public cs_entity_access Access 
        { 
            get
            {
				return new cs_entity_access(csEntity.access);
            }
        }

		/// ------------------------------------ NavigationItem ------------------------------------
		/// 
		/// Property: 'parent' returns type: 'Metaspec.CsEntity'
		/// CanRead: true
		/// CanWrite: true
		/// 
		/// ----------------------------------------------------------------------------------
        public CsEntity Parent 
        { 
            get
            {
				return new CsEntity(csEntity.parent);
            }
        }

		/// ------------------------------------ NavigationItem ------------------------------------
		/// 
		/// Property: 'assembly' returns type: 'Metaspec.AssemblyEntity'
		/// CanRead: true
		/// CanWrite: true
		/// 
		/// ----------------------------------------------------------------------------------
        public AssemblyEntity Assembly 
        { 
            get
            {
				return new AssemblyEntity(csEntity.assembly);
            }
        }

		/// ------------------------------------ NavigationItem ------------------------------------
		/// 
		/// Property: 'user_data' returns type: 'System.Object'
		/// CanRead: true
		/// CanWrite: true
		/// 
		/// ----------------------------------------------------------------------------------
        public Object User_data 
        { 
            get
            {
				return new Object(csEntity.user_data);
            }
        }

    }
}
